package models;

import play.*;
import play.db.jpa.*;

import javax.persistence.*;

import java.util.*;

import play.data.binding.As;
import play.data.validation.*;
import validation.Unique;

import java.util.Date;

import play.db.jpa.Model;
/**
 * 实体（除用户类以外，其他模型类均要求继承该类，以获得基本属性）
 * @author yujie
 */
@Entity
public class ShiTi extends Model {
	/**
	 * 新增时间：该条记录创建的时间
	 */
	@As("yyyy-MM-dd-mm hh:mm:ss")
	public Date xinZengShiJian;
	/**
	 * 修改时间：该条记录修改的时间
	 */
	@As("yyyy-MM-dd-mm hh:mm:ss")
	public Date xiuGaiShiJian;
	/**
	 * 新增IP：新增该条记录的IP
	 */
	public String xinZengIP;
	/**
	 * 修改IP：修改该条记录的IP
	 */
	public String xiuGaiIP;
	
	/**
	 * 映射关系：一个实体对应一个用户
	 * 新增用户：新增该条记录的用户
	 */
	@OneToOne
	public YongHu xinZengYongHu;
	/**
	 * 映射关系：一个实体对应一个用户
	 * 上次修改用户：上次修改该条记录的用户
	 */
	@OneToOne
	public YongHu xiuGaiYongHu;
	
	/**
	 * 映射关系：一个实体对应一个用户
	 * 隶属用户：该条记录隶属于哪个用户，用于权限控制
	 */
	@OneToOne
	public YongHu liShuYongHu;
	/**
	 * 映射关系：多个实体对应一个角色
	 */
	@ManyToOne
	public JueSe jueSe;
	/**
	 * 级别
	 * 说明：通过创建该实体的用户来设定
	 */
	@Required
	public int jiBie;
	
	public ShiTi(){
		//获取对象创建时的时间，作为用户对象的注册时间
		xinZengShiJian=new Date();
	}
	
	
}
